1. Field of the Invention
The present invention relates to the field of workflow management systems (WFMS) and in particular to staff queries for distributing the execution of activities among individuals or resources of a staff.
2. Description of the Related Art
Workflow management systems support the modeling and execution of business processes. Segmenting a business process into individual activities, the workflow management system controls who will perform which activity of a network of activities and which resources are exploited for this work. Typically, execution of the activities might be distributed across a multitude of different computer systems connected by some type of network.
The product IBM MQSeries Workflow (previously called IBM FlowMark) represents such a typical modern, sophisticated and powerful workflow management system. (IBM and MQSeries are trademarks of the International Business Machines Corporation.) It supports of the modeling of business processes as a network of activities. This network of activities, the process model, is constructed using a directed, acyclic, weighted, colored graph as the meta model. It should be noted that any other meta model used for modeling process models, such as a hierarchical meta model, can be used without departing from the spirit of the invention. The nodes of the graph represent the activities, which define the individual tasks that need to be carried out. In general, each of the activities is associated with a piece of code that implements the appropriate task.
When an assignment between an activity and some resource responsible for executing the activity is not fixed, i.e. an activity can be carried out by different resources, assignment between a resource and an activity is typically established by making use of a staff query. A staff represents the resources needed for executing or performing those activities of a process model that require resources for the execution. A staff typically consists of a plurality of individuals and/or resources featuring a variety of different capabilities, qualifications and specifications. Staff is typically organized according to some organizational structure that reflects the dependencies between the different resources and/or individuals.
In order to execute the individual activities of the process model, for each activity an appropriate individual or resource of the staff has to be retrieved and assigned to the activity for execution of the activity.
In order to achieve a high efficiency of a business process, the available resources and individuals of a staff must be exploited in a most efficient way. Therefore the assignment between activities of the process model and resources or individuals of a staff is a crucial task of a workflow management system. For example, when execution of a particular activity requires specific skills, only those individuals having these required skills should be selected for execution of this distinct activity. In contrast, activities not requiring specific skills should practically be executed by unskilled individuals of the staff.
In order to retrieve and to select appropriate individuals of the staff for executing a specific activity, staff queries are effectively used. A staff query is descriptive of an activity and specifies which skills and which resources are needed in order to successfully execute the activity. The staff query usually returns more than one resource, and one of the selected resources then claims the activity for execution. Selecting more than one resource for the potential execution of an activity is based on the assumption that the speed of a business process can be improved if several resources are given the opportunity to carry out the activity.
FIG. 1 is an illustration of a flowchart for assigning an activity to an individual of the staff by making use of a staff query. In a first Step 100, the processing of the activity is started by the workflow management system. Based on the activity in a successive Step 102, a staff query provided by the process modeler is resolved. Depending on the staff query, in Step 104, the workflow management system determines a set of individuals of the staff that matches the staff query and therefore become candidates for the execution of the activity.
In a next Step 106, for each determined individual, the workflow management system generates a work item that has to be executed by the corresponding individual or resource in order to execute the entire activity. Therefore, a whole set of work items is generated. Depending on its momentary workload, an individual of the set of individuals selects an appropriate work item from the list of work items in Step 108. By selecting a work item, the individual claims the activity, and the work items assigned to all other individuals are disabled. The individual that selected the work item in Step 108 subsequently starts to process the work item in Step 110. In the subsequent Step 112, it is checked whether the individual can handle the work item, i.e. whether the assigned activity can be successfully executed. If the selected individual is capable of processing the assigned work item, the individual will successfully terminate the processing of the work item in Step 114 and the workflow management system is notified of the successful execution of the activity.
A problematic situation arises when, in Step 112, it turns out that the individual cannot handle the assigned work item. Typically, there are two possibilities to cope with in such a situation. The individual can either cancel processing of the activity in Step 118 or alternatively can transfer the work item in Step 116. Cancellation of the processing of the activity in Step 118 means that the individual returns the claimed work item to the workflow management system. The workflow management system then re-enables the previously disabled work items for the other individuals that have been selected by carrying out the staff query. In this case, after canceling the processing of the work item in Step 118, the method returns to Step 108 where another individual of the determined set of individuals selects another work item.
Alternatively, instead of returning the claimed work item, the individual can also transfer the claimed work item in Step 116 to another individual of the staff that is in turn capable of processing the assigned work item. In this case, after transferring the work item in Step 116, the method returns to Step 110 where the newly assigned individual starts to process the work item. In general the transfer of a work item from a first individual to another individual requires that the first individual not being capable of processing the work item has knowledge that the second individual is in fact capable to successfully execute the work item.
Furthermore, it should be noted that the transfer of a work item from a first individual or resource to a second individual or resource does not require that the first individual has claimed the work item. Administrators with appropriate privileges can transfer work items from a first individual or resource to a second individual or resource without the first individual having claimed the work item.
Every work item that cannot be handled by a selected individual of the staff represents a waste of time and costs and slows down the entire processing of the process instance. In fact, every work item that is transferred or returned is a sign of an incorrect assignment between an individual of the staff and an activity of the process model and therefore indicates deficiencies in the staff query.
The present invention therefore aims to provide a method, a computer system as well as a computer program product for improving the staff query in a workflow management system in order to avoid transfers of work items among individuals of the staff as well as the returning of claimed work items due to inadequately selected individuals.